package com.ukefu.webim.web.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.apache.commons.lang3.StringUtils;
import org.hibernate.annotations.GenericGenerator;

import com.ukefu.util.UKTools;
import com.ukefu.webim.util.OnlineUserUtils;

@Entity
@Table(name = "uk_systemconfig")
@org.hibernate.annotations.Proxy(lazy = false)
public class SystemConfig implements java.io.Serializable{
	/**
	 *
	 */
	private static final long serialVersionUID = -8675632756915176657L;
	private String id ;
	private String name ;
	private String title ;

	private String theme = "01";	//默认绿色

	private String loginlogo ;		//登录页 LOGO
	private String loginlogowidth ;//登录页 LOGO最大宽度
	private String loginlogoheight ;//登录页 LOGO最大高度
	private String consolelogo ;	//后台页面LOGO
	private String consolelogowidth ;	//后台页面LOGO最大宽度
	private String consolelogoheight ;	//后台页面LOGO最大高度
	private String favlogo ;		//系统Fav图片，icon格式，小图标

	private boolean savelog ;		//启用日志存储
	
	private boolean vcode ;		//启用验证码
	private boolean remember ;		//启用7天自动登录

	private String transports 	;	//	默认通信协议
	
	private String code ;
	private String orgi ;
	private String description;
	private String memo ;
	private String creater;
	private Date createtime;
	private Date updatetime;
	private String loglevel ;
	private boolean enablessl ;
	private String jksfile ;
	private String jkspassword ;
	private String mapkey ;
	private boolean workorders ;	//工单启用三栏布局
	private String iconstr;			//修改服务器url地址
	private String voiceaddr;			//语音播报的地址
	private String whitelistip;			//服务器IP白名单

	private boolean callout ;		//允许在电话号码上点击呼出
	private boolean auth ;			//启用权限控制
	
	private boolean monitor ;		//启用智能监控
	private boolean report ;		//启用报表
	private boolean channelshare;	//和软电话条共享通道
	
	private boolean udp ;
	private int udpstart ;
	private int udpend ;
	
	private boolean asr ;			//启用实时质检
	private String asrtype ;		//实时ASR类型
	private String asrhost ;		//实时ASR服务器地址
	private String asrappid ;		//实时ASR的APPID
	private String asrappkey;		//实时ASR的APPKEY
	private String asrappsec;		//实时ASR的APPSEC
	
	private String asrcoderate;		//语音编码 ， 8K，16K 

	private boolean callcenter ;	//启用呼叫中心模板配置
	private String cc_extention ;
	private String cc_quene ;
	private String cc_router ;
	private String cc_ivr ;
	private String cc_acl ;
	private String cc_siptrunk ;
	private String cc_callcenter ;


	private boolean enablemail ;	//启用电子邮件
	private String emailid ;		//电子邮件服务器
	private String emailworkordertp;//工单电子邮件默认模板
	private String mailcreatetp;	//工单创建的邮件模板
	private String mailupdatetp;	//工单状态更新的邮件模板
	private String mailprocesstp ;	//工单审批信息的邮件模板

	private boolean emailtocreater ;	//工单状态有更新的时候通知创建人
	private String emailtocreatertp ;	//发送给创建人的邮件模板

	private boolean emailshowrecipient; //是否显示收件人名称

	private boolean enablesms ;		//启用短信
	private String smsid ;			//短信网关ID
	private String smsworkordertp ;	//工单短信通知的模板
	
	private String smshugup ;	//挂机短信
	private String smsnoanswer ;	//呼入未接听短信
	private String smsorgnoanswer ;	//呼出未接听短信

	private String smscreatetp;	//工单创建的邮件模板
	private String smsupdatetp;	//工单状态更新的邮件模板
	private String smsprocesstp ;	//工单审批信息的邮件模板

	private boolean smstocreater ;	//工单状态有更新的时候通知创建人
	private String smstocreatertp ;//工单状态有更新的时候通知创建人的短信模板
	
	/**
	 * 以下部分是 通话历史转储时间配置，到配置的开始时间以后，开始执行转储任务，转储完成或者到结束时间以后，结束转储任务
	 * 
	 */
	private boolean dumpcall ;	//是否启用 转储 语音通话
	private int dumpcalldays ;		//转储保留时间
	private int dumpstarthour ;	//转储开始时间（小时）
	private int dumpstartmin ;	//转储开始时间（分钟）
	private int dumpendhour ;	//转储结束时间（小时）
	private int dumpendmin	;	//转储结束时间（分钟）
	private boolean dumpnoanswer	;	//转储全部未接通数据


	private boolean enabletneant ;	//启用多租户管理模式
	public boolean isEmailshowrecipient() {
		return emailshowrecipient;
	}
	public void setEmailshowrecipient(boolean emailshowrecipient) {
		this.emailshowrecipient = emailshowrecipient;
	}

	private boolean tenantshare;	//多租户模式下共享组织机构 （5.0不再使用）
	private String namealias ;		//多租户模式的名称（5.0不再使用）
	private boolean tenantconsole ;	//登录后进入租户选择模式 （5.0不再使用）

	private boolean enableregorgi ; //启用自主注册功能 （5.0不再使用）

	private boolean enablevoice;	//启用语音功能
	private boolean enabledis ;		//启用集群（分布式/HA）功能
	private boolean cleanxss ;		//启用安全过滤功能

	private String version ;		//当前版本
	private String appid;//客户端id

	private Boolean enableoss;//启用oss
	private boolean enablecloud; //是否云平台服务

	private String cloudserverupdatecheckurl;//连接服务端-更新检查-url
	private String cloudserveruploadossurl;//连接服务端-上传到oss-url
	private String cloudservergetosssizeurl;//连接服务端-获取客户oss容量-url
	private String cloudservergetossobjecturl;//连接服务端-获取oss对象-url


	private Integer agentnum;//文本坐席数量
	private Integer callcenteragentnum;//呼叫中心坐席数量

	private Integer robotagentnum;//电销机器人并发数量

	private boolean enablereqlogwarning ;//启用审计日志预警功能
	private String reqlogwarningemailid ;//审计日志预警电子邮件服务器
	private String reqlogwarningemailtp;//审计日志预警电子邮件默认模板
	private String reqlogwarningsmsid ;	//审计日志预警短信网关ID
	private String reqlogwarningsmstp ;	//审计日志预警短信通知的模板
	private String reqlogwarningaction ;//审计日志预警动作
	private String reqlogwarningtouser ;//审计日志预警接收人
	
	private String ttsservice ;//tts语音服务平台
	private String xunfeittsappid ;//tts-appid
	private String xunfeittsapikey ;//tts-apikey
	private String xunfeittsapisecret ;//tts-secret
	private String xunfeittsvoicename ;//tts-VoiceName 讯飞在线语音合成-发音人参数
	
	
	private String tenantserviceweb;
	
	private boolean enablesecurity ;//启用安全性
	private String securitypws;//安全性密码
	private String securitypublickey;//安全性公钥
	private String securityprivatekey;//安全性私钥
	
	private String language ;//系统语言
	
	
	private String snippeturl;//录音碎片地址
	private String recordurl;//录音地址
	
	private String numsmstpl;//按号码短信模板
	
	private boolean enablessocheck;//启用单点登录认证
	private String ssocheckurl;//认证接口
	
	@Id
	@Column(length = 32)
	@GeneratedValue(generator = "system-uuid")
	@GenericGenerator(name = "system-uuid", strategy = "uuid")
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getTheme() {
		return theme;
	}
	public void setTheme(String theme) {
		this.theme = theme;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getOrgi() {
		return orgi;
	}
	public void setOrgi(String orgi) {
		this.orgi = orgi;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getMemo() {
		return memo;
	}
	public void setMemo(String memo) {
		this.memo = memo;
	}
	public String getCreater() {
		return creater;
	}
	public void setCreater(String creater) {
		this.creater = creater;
	}
	public Date getCreatetime() {
		return createtime;
	}
	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}
	public Date getUpdatetime() {
		return updatetime;
	}
	public void setUpdatetime(Date updatetime) {
		this.updatetime = updatetime;
	}
	public String getLoglevel() {
		return loglevel;
	}
	public void setLoglevel(String loglevel) {
		this.loglevel = loglevel;
	}

	public boolean isEnablessl() {
		return enablessl;
	}
	public void setEnablessl(boolean enablessl) {
		this.enablessl = enablessl;
	}
	public String getJksfile() {
		return jksfile;
	}
	public void setJksfile(String jksfile) {
		this.jksfile = jksfile;
	}
	public String getJkspassword() {
		return jkspassword;
	}
	public void setJkspassword(String jkspassword) {
		this.jkspassword = jkspassword;
	}

	public String getMapkey() {
		return mapkey;
	}
	public void setMapkey(String mapkey) {
		this.mapkey = mapkey;
	}

	public boolean isWorkorders() {
		return workorders;
	}
	public void setWorkorders(boolean workorders) {
		this.workorders = workorders;
	}
	public boolean isCallcenter() {
		return callcenter;
	}
	public void setCallcenter(boolean callcenter) {
		this.callcenter = callcenter;
	}
	public String getCc_extention() {
		return cc_extention;
	}
	public void setCc_extention(String cc_extention) {
		this.cc_extention = cc_extention;
	}
	public String getCc_quene() {
		return cc_quene;
	}
	public void setCc_quene(String cc_quene) {
		this.cc_quene = cc_quene;
	}
	public String getCc_router() {
		return cc_router;
	}
	public void setCc_router(String cc_router) {
		this.cc_router = cc_router;
	}
	public String getCc_ivr() {
		return cc_ivr;
	}
	public void setCc_ivr(String cc_ivr) {
		this.cc_ivr = cc_ivr;
	}
	public String getCc_acl() {
		return cc_acl;
	}
	public void setCc_acl(String cc_acl) {
		this.cc_acl = cc_acl;
	}
	public String getCc_siptrunk() {
		return cc_siptrunk;
	}
	public void setCc_siptrunk(String cc_siptrunk) {
		this.cc_siptrunk = cc_siptrunk;
	}
	public String getCc_callcenter() {
		return cc_callcenter;
	}
	public void setCc_callcenter(String cc_callcenter) {
		this.cc_callcenter = cc_callcenter;
	}

	public boolean isCallout() {
		return callout;
	}
	public void setCallout(boolean callout) {
		this.callout = callout;
	}
	public boolean isAuth() {
		return auth;
	}
	public void setAuth(boolean auth) {
		this.auth = auth;
	}

	public boolean isEnablemail() {
		return enablemail;
	}
	public void setEnablemail(boolean enablemail) {
		this.enablemail = enablemail;
	}
	public String getEmailid() {
		return emailid;
	}
	public void setEmailid(String emailid) {
		this.emailid = emailid;
	}
	public String getEmailworkordertp() {
		return emailworkordertp;
	}
	public void setEmailworkordertp(String emailworkordertp) {
		this.emailworkordertp = emailworkordertp;
	}
	public boolean isEnablesms() {
		return enablesms;
	}
	public void setEnablesms(boolean enablesms) {
		this.enablesms = enablesms;
	}
	public String getSmsid() {
		return smsid;
	}
	public void setSmsid(String smsid) {
		this.smsid = smsid;
	}
	public String getSmsworkordertp() {
		return smsworkordertp;
	}
	public void setSmsworkordertp(String smsworkordertp) {
		this.smsworkordertp = smsworkordertp;
	}

	public String getMailcreatetp() {
		return mailcreatetp;
	}
	public void setMailcreatetp(String mailcreatetp) {
		this.mailcreatetp = mailcreatetp;
	}
	public String getMailupdatetp() {
		return mailupdatetp;
	}
	public void setMailupdatetp(String mailupdatetp) {
		this.mailupdatetp = mailupdatetp;
	}
	public String getMailprocesstp() {
		return mailprocesstp;
	}
	public void setMailprocesstp(String mailprocesstp) {
		this.mailprocesstp = mailprocesstp;
	}
	public boolean isEmailtocreater() {
		return emailtocreater;
	}
	public void setEmailtocreater(boolean emailtocreater) {
		this.emailtocreater = emailtocreater;
	}
	public String getSmscreatetp() {
		return smscreatetp;
	}
	public void setSmscreatetp(String smscreatetp) {
		this.smscreatetp = smscreatetp;
	}
	public String getSmsupdatetp() {
		return smsupdatetp;
	}
	public void setSmsupdatetp(String smsupdatetp) {
		this.smsupdatetp = smsupdatetp;
	}
	public String getSmsprocesstp() {
		return smsprocesstp;
	}
	public void setSmsprocesstp(String smsprocesstp) {
		this.smsprocesstp = smsprocesstp;
	}
	public boolean isSmstocreater() {
		return smstocreater;
	}
	public void setSmstocreater(boolean smstocreater) {
		this.smstocreater = smstocreater;
	}
	public String getEmailtocreatertp() {
		return emailtocreatertp;
	}
	public void setEmailtocreatertp(String emailtocreatertp) {
		this.emailtocreatertp = emailtocreatertp;
	}
	public String getSmstocreatertp() {
		return smstocreatertp;
	}
	public void setSmstocreatertp(String smstocreatertp) {
		this.smstocreatertp = smstocreatertp;
	}
	public boolean isEnabletneant() {
		return enabletneant;
	}
	public void setEnabletneant(boolean enabletneant) {
		this.enabletneant = enabletneant;
	}
	public boolean isTenantshare() {
		return tenantshare;
	}
	public void setTenantshare(boolean tenantshare) {
		this.tenantshare = tenantshare;
	}

	public String getNamealias() {
		return namealias;
	}
	public void setNamealias(String namealias) {
		this.namealias = namealias;
	}
	public boolean isTenantconsole() {
		return tenantconsole;
	}
	public void setTenantconsole(boolean tenantconsole) {
		this.tenantconsole = tenantconsole;
	}
	public boolean isEnableregorgi() {
		return enableregorgi;
	}
	public void setEnableregorgi(boolean enableregorgi) {
		this.enableregorgi = enableregorgi;
	}
	public String getLoginlogo() {
		return loginlogo;
	}
	public void setLoginlogo(String loginlogo) {
		this.loginlogo = loginlogo;
	}
	public String getConsolelogo() {
		return consolelogo;
	}
	public void setConsolelogo(String consolelogo) {
		this.consolelogo = consolelogo;
	}
	public String getFavlogo() {
		return favlogo;
	}
	public void setFavlogo(String favlogo) {
		this.favlogo = favlogo;
	}

	public boolean isSavelog() {
		return savelog;
	}
	public void setSavelog(boolean savelog) {
		this.savelog = savelog;
	}

	public String getLoginlogowidth() {
		return loginlogowidth;
	}
	public void setLoginlogowidth(String loginlogowidth) {
		this.loginlogowidth = loginlogowidth;
	}
	public String getLoginlogoheight() {
		return loginlogoheight;
	}
	public void setLoginlogoheight(String loginlogoheight) {
		this.loginlogoheight = loginlogoheight;
	}
	public String getConsolelogowidth() {
		return consolelogowidth;
	}
	public void setConsolelogowidth(String consolelogowidth) {
		this.consolelogowidth = consolelogowidth;
	}
	public String getConsolelogoheight() {
		return consolelogoheight;
	}
	public void setConsolelogoheight(String consolelogoheight) {
		this.consolelogoheight = consolelogoheight;
	}
	public boolean isEnablevoice() {
		return enablevoice;
	}
	public void setEnablevoice(boolean enablevoice) {
		this.enablevoice = enablevoice;
	}
	public boolean isEnabledis() {
		return enabledis;
	}
	public void setEnabledis(boolean enabledis) {
		this.enabledis = enabledis;
	}
	public String getWhitelistip() {
		return whitelistip;
	}
	public void setWhitelistip(String whitelistip) {
		this.whitelistip = whitelistip;
	}
	@Transient
	public String getBackgroundColor(){
		String backgroundColor = "background-color:#32c24d !important;" ;
		if(!StringUtils.isBlank(this.theme) && this.theme.equals("01")){
			backgroundColor = "background-color:#32c24d !important;" ;
		}else if(!StringUtils.isBlank(this.theme) && this.theme.equals("02")){
			backgroundColor = "background-color:#373d41 !important;" ;
		}else if(!StringUtils.isBlank(this.theme) && this.theme.equals("03")){
			backgroundColor = "background-image: -webkit-linear-gradient(right,#00c89d 0,#1E90FF 100%) !important;" ;
		}
		return backgroundColor ;
	}
	@Transient
	public String getColor(){
		String color = "color:#32c24d;" ;
		if(!StringUtils.isBlank(this.theme) && this.theme.equals("01")){
			color = "color:#32c24d " ;
		}else if(!StringUtils.isBlank(this.theme) && this.theme.equals("02")){
			color = "color:#32c24d " ;
		}else if(!StringUtils.isBlank(this.theme) && this.theme.equals("03")){
			color = "color:#1E90FF " ;
		}
		return color ;
	}

	@Transient
	public String getBgColor(){
		String color = "background-color:#32c24d;" ;
		if(!StringUtils.isBlank(this.theme) && this.theme.equals("01")){
			color = "background-color:#32c24d !important;" ;
		}else if(!StringUtils.isBlank(this.theme) && this.theme.equals("02")){
			color = "background-color:#32c24d !important;" ;
		}else if(!StringUtils.isBlank(this.theme) && this.theme.equals("03")){
			color = "background-color:#1E90FF !important;" ;
		}
		return color ;
	}

	@Transient
	public String getStyleColor(){
		String color = "#32c24d  !important;" ;
		if(!StringUtils.isBlank(this.theme) && this.theme.equals("01")){
			color = "#32c24d  !important;" ;
		}else if(!StringUtils.isBlank(this.theme) && this.theme.equals("02")){
			color = "#32c24d  !important;" ;
		}else if(!StringUtils.isBlank(this.theme) && this.theme.equals("03")){
			color = "#1E90FF  !important;" ;
		}
		return color ;
	}
	public String getIconstr() {
		return iconstr;
	}
	public void setIconstr(String iconstr) {
		this.iconstr = iconstr;
	}
	public String getVersion() {
		return version;
	}
	public void setVersion(String version) {
		this.version = version;
	}
	public String getAppid() {
		return appid;
	}
	public void setAppid(String appid) {
		this.appid = appid;
	}

	public String getCloudserverupdatecheckurl() {
		return cloudserverupdatecheckurl;
	}

	public void setCloudserverupdatecheckurl(String cloudserverupdatecheckurl) {
		this.cloudserverupdatecheckurl = cloudserverupdatecheckurl;
	}

	public String getCloudserveruploadossurl() {
		return cloudserveruploadossurl;
	}

	public void setCloudserveruploadossurl(String cloudserveruploadossurl) {
		this.cloudserveruploadossurl = cloudserveruploadossurl;
	}

	public String getCloudservergetosssizeurl() {
		return cloudservergetosssizeurl;
	}

	public void setCloudservergetosssizeurl(String cloudservergetosssizeurl) {
		this.cloudservergetosssizeurl = cloudservergetosssizeurl;
	}

	public String getCloudservergetossobjecturl() {
		return cloudservergetossobjecturl;
	}

	public void setCloudservergetossobjecturl(String cloudservergetossobjecturl) {
		this.cloudservergetossobjecturl = cloudservergetossobjecturl;
	}

	public Boolean getEnableoss() {
		return enableoss;
	}

	public void setEnableoss(Boolean enableoss) {
		this.enableoss = enableoss;
	}

	public Integer getAgentnum() {
		return agentnum;
	}

	public void setAgentnum(Integer agentnum) {
		this.agentnum = agentnum;
	}

	public Integer getCallcenteragentnum() {
		return callcenteragentnum;
	}

	public void setCallcenteragentnum(Integer callcenteragentnum) {
		this.callcenteragentnum = callcenteragentnum;
	}

	public void setCallcenteragentnum(int callcenteragentnum) {
		this.callcenteragentnum = callcenteragentnum;
	}
	public String getTransports() {
		return transports;
	}
	public void setTransports(String transports) {
		this.transports = transports;
	}
	public boolean isEnablereqlogwarning() {
		return enablereqlogwarning;
	}
	public void setEnablereqlogwarning(boolean enablereqlogwarning) {
		this.enablereqlogwarning = enablereqlogwarning;
	}
	public String getReqlogwarningemailid() {
		return reqlogwarningemailid;
	}
	public void setReqlogwarningemailid(String reqlogwarningemailid) {
		this.reqlogwarningemailid = reqlogwarningemailid;
	}
	public String getReqlogwarningemailtp() {
		return reqlogwarningemailtp;
	}
	public void setReqlogwarningemailtp(String reqlogwarningemailtp) {
		this.reqlogwarningemailtp = reqlogwarningemailtp;
	}
	public String getReqlogwarningsmsid() {
		return reqlogwarningsmsid;
	}
	public void setReqlogwarningsmsid(String reqlogwarningsmsid) {
		this.reqlogwarningsmsid = reqlogwarningsmsid;
	}
	public String getReqlogwarningsmstp() {
		return reqlogwarningsmstp;
	}
	public void setReqlogwarningsmstp(String reqlogwarningsmstp) {
		this.reqlogwarningsmstp = reqlogwarningsmstp;
	}
	public String getReqlogwarningaction() {
		return reqlogwarningaction;
	}
	public void setReqlogwarningaction(String reqlogwarningaction) {
		this.reqlogwarningaction = reqlogwarningaction;
	}
	public String getReqlogwarningtouser() {
		return reqlogwarningtouser;
	}
	public void setReqlogwarningtouser(String reqlogwarningtouser) {
		this.reqlogwarningtouser = reqlogwarningtouser;
	}
	public boolean isCleanxss() {
		return cleanxss;
	}
	public void setCleanxss(boolean cleanxss) {
		this.cleanxss = cleanxss;
	}
	@Transient
	public List<ReqlogWarningAction> getReqlogWarningAction(){
		List<ReqlogWarningAction> reqlogWarningActionList = null ;
		if(!StringUtils.isBlank(this.getReqlogwarningaction())) {
			try {
				reqlogWarningActionList = OnlineUserUtils.objectMapper.readValue(this.getReqlogwarningaction(), UKTools.getCollectionType(ArrayList.class, ReqlogWarningAction.class))  ;
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return reqlogWarningActionList ;
	}

	public Integer getRobotagentnum() {
		return robotagentnum;
	}

	public void setRobotagentnum(Integer robotagentnum) {
		this.robotagentnum = robotagentnum;
	}

	public boolean isEnablecloud() {
		return enablecloud;
	}

	public void setEnablecloud(boolean enablecloud) {
		this.enablecloud = enablecloud;
	}
	public String getTtsservice() {
		return ttsservice;
	}
	public void setTtsservice(String ttsservice) {
		this.ttsservice = ttsservice;
	}
	public String getXunfeittsappid() {
		return xunfeittsappid;
	}
	public void setXunfeittsappid(String xunfeittsappid) {
		this.xunfeittsappid = xunfeittsappid;
	}
	public String getXunfeittsapikey() {
		return xunfeittsapikey;
	}
	public void setXunfeittsapikey(String xunfeittsapikey) {
		this.xunfeittsapikey = xunfeittsapikey;
	}
	public String getTenantserviceweb() {
		return tenantserviceweb;
	}
	public void setTenantserviceweb(String tenantserviceweb) {
		this.tenantserviceweb = tenantserviceweb;
	}
	public boolean isMonitor() {
		return monitor;
	}
	public void setMonitor(boolean monitor) {
		this.monitor = monitor;
	}
	public boolean isReport() {
		return report;
	}
	public void setReport(boolean report) {
		this.report = report;
	}
	public boolean isAsr() {
		return asr;
	}
	public void setAsr(boolean asr) {
		this.asr = asr;
	}
	public boolean isChannelshare() {
		return channelshare;
	}
	public void setChannelshare(boolean channelshare) {
		this.channelshare = channelshare;
	}
	public boolean isUdp() {
		return udp;
	}
	public void setUdp(boolean udp) {
		this.udp = udp;
	}
	public int getUdpstart() {
		return udpstart;
	}
	public void setUdpstart(int udpstart) {
		this.udpstart = udpstart;
	}
	public int getUdpend() {
		return udpend;
	}
	public void setUdpend(int udpend) {
		this.udpend = udpend;
	}
	public String getAsrtype() {
		return asrtype;
	}
	public void setAsrtype(String asrtype) {
		this.asrtype = asrtype;
	}
	public String getAsrhost() {
		return asrhost;
	}
	public void setAsrhost(String asrhost) {
		this.asrhost = asrhost;
	}
	public String getAsrappid() {
		return asrappid;
	}
	public void setAsrappid(String asrappid) {
		this.asrappid = asrappid;
	}
	public String getAsrappkey() {
		return asrappkey;
	}
	public void setAsrappkey(String asrappkey) {
		this.asrappkey = asrappkey;
	}
	public String getAsrappsec() {
		return asrappsec;
	}
	public void setAsrappsec(String asrappsec) {
		this.asrappsec = asrappsec;
	}
	public String getAsrcoderate() {
		return asrcoderate;
	}
	public void setAsrcoderate(String asrcoderate) {
		this.asrcoderate = asrcoderate;
	}
	public boolean isVcode() {
		return vcode;
	}
	public void setVcode(boolean vcode) {
		this.vcode = vcode;
	}
	public boolean isRemember() {
		return remember;
	}
	public void setRemember(boolean remember) {
		this.remember = remember;
	}
	public String getSmshugup() {
		return smshugup;
	}
	public void setSmshugup(String smshugup) {
		this.smshugup = smshugup;
	}
	public String getSmsnoanswer() {
		return smsnoanswer;
	}
	public void setSmsnoanswer(String smsnoanswer) {
		this.smsnoanswer = smsnoanswer;
	}
	public String getSmsorgnoanswer() {
		return smsorgnoanswer;
	}
	public void setSmsorgnoanswer(String smsorgnoanswer) {
		this.smsorgnoanswer = smsorgnoanswer;
	}
	public boolean isEnablesecurity() {
		return enablesecurity;
	}
	public void setEnablesecurity(boolean enablesecurity) {
		this.enablesecurity = enablesecurity;
	}
	public String getSecuritypws() {
		return securitypws;
	}
	public void setSecuritypws(String securitypws) {
		this.securitypws = securitypws;
	}
	public String getSecuritypublickey() {
		return securitypublickey;
	}
	public void setSecuritypublickey(String securitypublickey) {
		this.securitypublickey = securitypublickey;
	}
	public String getSecurityprivatekey() {
		return securityprivatekey;
	}
	public void setSecurityprivatekey(String securityprivatekey) {
		this.securityprivatekey = securityprivatekey;
	}
	public String getLanguage() {
		return language;
	}
	public void setLanguage(String language) {
		this.language = language;
	}
	public String getXunfeittsvoicename() {
		return xunfeittsvoicename;
	}
	public void setXunfeittsvoicename(String xunfeittsvoicename) {
		this.xunfeittsvoicename = xunfeittsvoicename;
	}
	public String getXunfeittsapisecret() {
		return xunfeittsapisecret;
	}
	public void setXunfeittsapisecret(String xunfeittsapisecret) {
		this.xunfeittsapisecret = xunfeittsapisecret;
	}
	public String getSnippeturl() {
		return snippeturl;
	}
	public void setSnippeturl(String snippeturl) {
		this.snippeturl = snippeturl;
	}
	public String getRecordurl() {
		return recordurl;
	}
	public void setRecordurl(String recordurl) {
		this.recordurl = recordurl;
	}
	public boolean isDumpcall() {
		return dumpcall;
	}
	public void setDumpcall(boolean dumpcall) {
		this.dumpcall = dumpcall;
	}
	public int getDumpcalldays() {
		return dumpcalldays;
	}
	public void setDumpcalldays(int dumpcalldays) {
		this.dumpcalldays = dumpcalldays;
	}
	public int getDumpstarthour() {
		return dumpstarthour;
	}
	public void setDumpstarthour(int dumpstarthour) {
		this.dumpstarthour = dumpstarthour;
	}
	public int getDumpstartmin() {
		return dumpstartmin;
	}
	public void setDumpstartmin(int dumpstartmin) {
		this.dumpstartmin = dumpstartmin;
	}
	public int getDumpendhour() {
		return dumpendhour;
	}
	public void setDumpendhour(int dumpendhour) {
		this.dumpendhour = dumpendhour;
	}
	public int getDumpendmin() {
		return dumpendmin;
	}
	public void setDumpendmin(int dumpendmin) {
		this.dumpendmin = dumpendmin;
	}
	public boolean isDumpnoanswer() {
		return dumpnoanswer;
	}
	public void setDumpnoanswer(boolean dumpnoanswer) {
		this.dumpnoanswer = dumpnoanswer;
	}
	public String getVoiceaddr() {
		return voiceaddr;
	}
	public void setVoiceaddr(String voiceaddr) {
		this.voiceaddr = voiceaddr;
	}
	
	public String getNumsmstpl() {
		return numsmstpl;
	}
	public void setNumsmstpl(String numsmstpl) {
		this.numsmstpl = numsmstpl;
	}
	
	public boolean isEnablessocheck() {
		return enablessocheck;
	}
	public void setEnablessocheck(boolean enablessocheck) {
		this.enablessocheck = enablessocheck;
	}
	public String getSsocheckurl() {
		return ssocheckurl;
	}
	public void setSsocheckurl(String ssocheckurl) {
		this.ssocheckurl = ssocheckurl;
	}
	@Transient
	public List<Numsmstpl> getNumsmstplList(){
		List<Numsmstpl> list = new ArrayList<Numsmstpl>();
		if(!StringUtils.isBlank(this.getNumsmstpl())) {
			try {
				list = OnlineUserUtils.objectMapper.readValue(this.getNumsmstpl(),UKTools.getCollectionType(ArrayList.class, Numsmstpl.class))  ;
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		return list ;
	}
}
